From: tsteven4 Date: Sat, 19 Dec 2015 18:27:24 +0000 (-0700) Subject: Have the gpx reader forward namespace declarations for http://www.w3.org/2001/XMLSche... X-Git-Tag: archive/raspbian/1.10.0+ds-2+rpi1~1^2~12^2~10^2~8^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=a8d988f054c0b1b96b2174456d89816731320c2a;p=gpsbabel.git Have the gpx reader forward namespace declarations for w3.org/2001/XMLSchema-instance like all other namespaces. This avoids the problem of the gpx writer potentially using the prefix when it has not been declared. --- diff --git a/gpx.cc b/gpx.cc index f08dafb74..0a62edd8b 100644 --- a/gpx.cc +++ b/gpx.cc @@ -469,7 +469,8 @@ tag_gpx(const QXmlStreamAttributes& attr) for (int i = 0; i < ns.size(); ++i) { QString prefix = ns[i].prefix().toString(); QString namespaceUri = ns[i].namespaceUri().toString(); - if (!prefix.isEmpty() && (0 != prefix.compare("xsi"))) { + /* don't toss any xsi declaration, it might used for tt_unknown or passthrough. */ + if (!prefix.isEmpty()) { if (! gpx_namespace_attribute.hasAttribute(prefix.prepend("xmlns:"))) { gpx_namespace_attribute.append(prefix, namespaceUri); } diff --git a/reference/arc-project.gpx b/reference/arc-project.gpx index b3061f381..2f1f75896 100644 --- a/reference/arc-project.gpx +++ b/reference/arc-project.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/basecamp~gpx.gpx b/reference/basecamp~gpx.gpx index 8687c2333..064f05332 100644 --- a/reference/basecamp~gpx.gpx +++ b/reference/basecamp~gpx.gpx @@ -1,5 +1,5 @@ - + diff --git a/reference/route/bend-input.gpx b/reference/route/bend-input.gpx index 5512d6e8b..9410909c3 100644 --- a/reference/route/bend-input.gpx +++ b/reference/route/bend-input.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/height.gpx b/reference/track/height.gpx index 7836b1df5..d58df7346 100644 --- a/reference/track/height.gpx +++ b/reference/track/height.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/i65.anr.gpx b/reference/track/i65.anr.gpx index 32122b132..3ebb3ecb9 100644 --- a/reference/track/i65.anr.gpx +++ b/reference/track/i65.anr.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> Home to 8520 Northwe diff --git a/reference/track/seg2trk_test.gpx b/reference/track/seg2trk_test.gpx index 8ce0d0da7..8edab9626 100644 --- a/reference/track/seg2trk_test.gpx +++ b/reference/track/seg2trk_test.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/simpletrack.gpx b/reference/track/simpletrack.gpx index d75d85c00..c632083e8 100644 --- a/reference/track/simpletrack.gpx +++ b/reference/track/simpletrack.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/simplify-relative.gpx b/reference/track/simplify-relative.gpx index cb964cc0e..17b299663 100644 --- a/reference/track/simplify-relative.gpx +++ b/reference/track/simplify-relative.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/split-raw.gpx b/reference/track/split-raw.gpx index e346a1a9b..74192766c 100644 --- a/reference/track/split-raw.gpx +++ b/reference/track/split-raw.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/trackfilter_discard.gpx b/reference/track/trackfilter_discard.gpx index efe60fd95..51b73acb4 100644 --- a/reference/track/trackfilter_discard.gpx +++ b/reference/track/trackfilter_discard.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/tracks.gpx b/reference/track/tracks.gpx index 69f8fe78b..aecbb373a 100644 --- a/reference/track/tracks.gpx +++ b/reference/track/tracks.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/track/trk_reverse_test-fwd.gpx b/reference/track/trk_reverse_test-fwd.gpx index 0be5ecb1b..09ac4fdca 100644 --- a/reference/track/trk_reverse_test-fwd.gpx +++ b/reference/track/trk_reverse_test-fwd.gpx @@ -2,9 +2,7 @@ + xmlns="http://www.topografix.com/GPX/1/0"> diff --git a/reference/transform-rte.gpx b/reference/transform-rte.gpx index c7bb7d980..f77673c83 100644 --- a/reference/transform-rte.gpx +++ b/reference/transform-rte.gpx @@ -1,5 +1,5 @@ - + diff --git a/reference/transform-wpt.gpx b/reference/transform-wpt.gpx index 1d510f22a..12745865c 100644 --- a/reference/transform-wpt.gpx +++ b/reference/transform-wpt.gpx @@ -1,5 +1,5 @@ - + diff --git a/reference/unknowntag2.gpx b/reference/unknowntag2.gpx new file mode 100644 index 000000000..a5742bc67 --- /dev/null +++ b/reference/unknowntag2.gpx @@ -0,0 +1,21 @@ + + + + B02222 + + + false + + + + A01111 + A St/B St + Waypoint + + + 000000000000ffffffffffffffffffffffff + + + + + diff --git a/reference/unknowntag2~gpx.gpx b/reference/unknowntag2~gpx.gpx new file mode 100644 index 000000000..acdbbd059 --- /dev/null +++ b/reference/unknowntag2~gpx.gpx @@ -0,0 +1,25 @@ + + + + + + + + B02222 + + + false + + + + A01111 + A St/B St + Waypoint + + + 000000000000ffffffffffffffffffffffff + + + + + diff --git a/reference/unknowntag~gpx.gpx b/reference/unknowntag~gpx.gpx index 25920f43e..eb7048524 100644 --- a/reference/unknowntag~gpx.gpx +++ b/reference/unknowntag~gpx.gpx @@ -1,5 +1,5 @@ - + diff --git a/testo.d/gpx.test b/testo.d/gpx.test index 70e7c327e..0edb25d1f 100644 --- a/testo.d/gpx.test +++ b/testo.d/gpx.test @@ -40,3 +40,7 @@ compare ${REFERENCE}/basecamp~gpx.gpx ${TMPDIR}/basecamp~gpx_si.gpx rm -f ${TMPDIR}/unknowntag.gpx gpsbabel -i gpx -f ${REFERENCE}/unknowntag.gpx -o gpx -F ${TMPDIR}/unknowntag.gpx compare ${REFERENCE}/unknowntag~gpx.gpx ${TMPDIR}/unknowntag.gpx + +rm -f ${TMPDIR}/unknowntag2.gpx +gpsbabel -i gpx -f ${REFERENCE}/unknowntag2.gpx -o gpx -F ${TMPDIR}/unknowntag2.gpx +compare ${REFERENCE}/unknowntag2~gpx.gpx ${TMPDIR}/unknowntag2.gpx